load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
load("@com_github_johnynek_bazel_jar_jar//:jar_jar.bzl", "jar_jar")

kt_jvm_library(
    name = "instrumentor",
    srcs = [
        "ClassInstrumentor.kt",
        "CoverageRecorder.kt",
        "DescriptorUtils.kt",
        "DeterministicRandom.kt",
        "DirectByteBufferStrategy.kt",
        "EdgeCoverageInstrumentor.kt",
        "Hook.kt",
        "HookInstrumentor.kt",
        "HookMethodVisitor.kt",
        "Instrumentor.kt",
        "TraceDataFlowInstrumentor.kt",
    ],
    visibility = [
        "//agent/src/main/java/com/code_intelligence/jazzer/agent:__pkg__",
        "//agent/src/test/java/com/code_intelligence/jazzer/instrumentor:__pkg__",
    ],
    deps = [
        "//agent/src/main/java/com/code_intelligence/jazzer/runtime",
        "//agent/src/main/java/com/code_intelligence/jazzer/utils",
        "@com_github_classgraph_classgraph//:classgraph",
        "@com_github_jetbrains_kotlin//:kotlin-reflect",
        "@jazzer_jacoco//:jacoco_internal",
        "@jazzer_ow2_asm//:asm",
        "@jazzer_ow2_asm//:asm_commons",
    ],
)
